package top.infopub.model.cap;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

//保证合同
public class ContractGuarantyDetail {

    private static final long serialVersionUID = 1L;

    /** SGUID */
    private String id;
    /*单据编号*/
    private String codes;
    /*项目编码*/
    private String proCode;
    /*保证合同主表ID*/
    private String contractGuarantyId;
    /*担保单位*/
    private String guaranteeName;
    /*是否集团子公司*/
    private String isGroupSubsidiary;
    /*担保类型 0=抵押担保 1=连带责任保证 2=一般责任保证 3=质押担保 4=保证金担保 5=保函担保 6=回购承诺 7=差额补足承诺 8=现金流支持承诺 9=安慰函*/
    private String guaranteeType;
    /*担保期间类型 0=全周期担保 1=阶段性担保 2=其他担保*/
    private String guaranteePeriodType;
    /*担保起始日*/
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date guaranteeStartDate;
    /*担保到期日*/
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date guaranteeEndDate;
    /*担保金额 （万元）*/
    private BigDecimal guaranteeAmount;
    /*担保金额类型 0=按比例仅本金 1=按比例本息 2=超比例仅本金 3=超比例本息*/
    private String guaranteeAmountType;

    /** 添加人 */
    private String addBy;

    /** 添加时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date addTime;

    /** 最后修改人 */
    private String uptBy;

    /** 最后修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date uptTime;
    /*oaId*/
    private String oaId;

    /*关联的审批流程id*/
    private String processId;
    /*当前审批状态 1=审批中 9=审批完成 10=审批终止 0=待提交*/
    private String processStatus;



    /*金融机构*/
    private String setupFinancialId;

    /*担保单位*/
    private String compName;

    /** 金融机构 */
    private String dockBank;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getContractGuarantyId() {
        return contractGuarantyId;
    }

    public void setContractGuarantyId(String contractGuarantyId) {
        this.contractGuarantyId = contractGuarantyId;
    }

    public String getGuaranteeName() {
        return guaranteeName;
    }

    public void setGuaranteeName(String guaranteeName) {
        this.guaranteeName = guaranteeName;
    }

    public String getIsGroupSubsidiary() {
        return isGroupSubsidiary;
    }

    public void setIsGroupSubsidiary(String isGroupSubsidiary) {
        this.isGroupSubsidiary = isGroupSubsidiary;
    }

    public String getGuaranteeType() {
        return guaranteeType;
    }

    public void setGuaranteeType(String guaranteeType) {
        this.guaranteeType = guaranteeType;
    }

    public String getGuaranteePeriodType() {
        return guaranteePeriodType;
    }

    public void setGuaranteePeriodType(String guaranteePeriodType) {
        this.guaranteePeriodType = guaranteePeriodType;
    }

    public Date getGuaranteeStartDate() {
        return guaranteeStartDate;
    }

    public void setGuaranteeStartDate(Date guaranteeStartDate) {
        this.guaranteeStartDate = guaranteeStartDate;
    }

    public Date getGuaranteeEndDate() {
        return guaranteeEndDate;
    }

    public void setGuaranteeEndDate(Date guaranteeEndDate) {
        this.guaranteeEndDate = guaranteeEndDate;
    }

    public BigDecimal getGuaranteeAmount() {
        return guaranteeAmount;
    }

    public void setGuaranteeAmount(BigDecimal guaranteeAmount) {
        this.guaranteeAmount = guaranteeAmount;
    }

    public String getGuaranteeAmountType() {
        return guaranteeAmountType;
    }

    public void setGuaranteeAmountType(String guaranteeAmountType) {
        this.guaranteeAmountType = guaranteeAmountType;
    }

    public String getAddBy() {
        return addBy;
    }

    public void setAddBy(String addBy) {
        this.addBy = addBy;
    }

    public Date getAddTime() {
        return addTime;
    }

    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    public String getUptBy() {
        return uptBy;
    }

    public void setUptBy(String uptBy) {
        this.uptBy = uptBy;
    }

    public Date getUptTime() {
        return uptTime;
    }

    public void setUptTime(Date uptTime) {
        this.uptTime = uptTime;
    }

    public String getOaId() {
        return oaId;
    }

    public void setOaId(String oaId) {
        this.oaId = oaId;
    }

    public String getCodes() {
        return codes;
    }

    public void setCodes(String codes) {
        this.codes = codes;
    }

    public String getProCode() {
        return proCode;
    }

    public void setProCode(String proCode) {
        this.proCode = proCode;
    }

    public String getProcessId() {
        return processId;
    }

    public void setProcessId(String processId) {
        this.processId = processId;
    }

    public String getProcessStatus() {
        return processStatus;
    }

    public void setProcessStatus(String processStatus) {
        this.processStatus = processStatus;
    }

    public String getSetupFinancialId() {
        return setupFinancialId;
    }

    public void setSetupFinancialId(String setupFinancialId) {
        this.setupFinancialId = setupFinancialId;
    }

    public String getCompName() {
        return compName;
    }

    public void setCompName(String compName) {
        this.compName = compName;
    }

    public String getDockBank() {
        return dockBank;
    }

    public void setDockBank(String dockBank) {
        this.dockBank = dockBank;
    }
}
